Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
With modern computing applications, simultaneous execution of multiple instances of a software application may occur. For example, a virtual machine may be configured to include an installation of a software application. This virtual machine may be copied and launched any number of times simultaneously. Each running copy of the virtual machine may then execute an instance of the software application.
Managing licensing of a software application may typically involve a licensing server. For example, each instance of the software application may, upon launch, contact the licensing server for authorization to run. If authorization is not received, the instance of the software application may fail to run. For example, if the maximum number of allowed instances are already executing, the licensing server may not provide authorization for any new instances. As such, new instances may fail to launch. However, if the licensing server becomes unavailable, new instances of the software application may fail to launch, even where available licenses technically exist.
Additionally, a licensing server may require periodic “check in” by each executing instance of the software application. For example, some software applications may be licensed based on various computing metrics (e.g., processor core usage, memory usage, or the like). A periodic check in by each executing instance of the software application may be used to determine current usage and enforce the licensing requirements. Accordingly, at each check in by an instance of the software application, authorization may be verified. If authorization is verified, the instance may continue to execute. If authorization is not verified, the instance may shut down. However, if the licensing server goes down, all executing copies of the software application may eventually fail. That is, when each instance tries to check in, authorization may not be verified due to the licensing server being unavailable. As such, the entire deployment of executing instances may eventually shut down.